<template>
  <div class="order_list">
    <div class="common_form_search">
      <el-form ref="searchForm" :inline="true" :model="searchForm">
        <el-form-item label="订单号">
          <el-input
            v-model="searchForm.orderNo"
            style="width: 220px"
            placeholder="请输入订单号"
            clearable
          />
        </el-form-item>
        <el-form-item label="商品名称">
          <el-input
            v-model="searchForm.goodsName"
            placeholder="请输入商品名称"
            clearable
          />
        </el-form-item>
        <el-form-item label="用户名">
          <el-input
            v-model="searchForm.receivingName"
            placeholder="请输入用户名"
            clearable
          />
        </el-form-item>
        <el-form-item label="手机号">
          <el-input
            v-model="searchForm.receivingMobile"
            placeholder="请输入手机号"
            clearable
          />
        </el-form-item>
        <el-form-item label="风控姓名">
          <el-input
            v-model="searchForm.riskName"
            placeholder="请输入风控姓名"
            clearable
          />
        </el-form-item>
        <el-form-item label="风控手机号">
          <el-input
            v-model="searchForm.riskMobile"
            placeholder="请输入风控手机号"
            clearable
          />
        </el-form-item>
        <el-form-item label="状态">
          <el-select
            v-model="searchForm.orderStatus"
            placeholder="全部"
            clearable
          >
            <el-option
              v-for="item in selectList"
              :key="item.id"
              :label="item.name"
              :value="item.id"
            />
          </el-select>
        </el-form-item>
        <el-form-item label="创建时间">
          <my-date-picker ref="myDatePicker" />
        </el-form-item>
        <el-form-item label="供应商">
          <el-input
            v-model="searchForm.shopName"
            placeholder="请输入供应商"
            clearable
          />
        </el-form-item>
        <el-form-item>
          <el-button
            size="small"
            type="primary"
            @click="search()"
          >查询</el-button>
          <el-button size="small" @click="reset()">重置</el-button>
          <el-button
            v-if="$hasMethod('#export')"
            size="small"
            type="warning"
            @click="exportFile()"
          >导出</el-button>
        </el-form-item>
      </el-form>
    </div>
    <el-divider />
    <div class="child_page">
      <el-tabs
        v-model="activeName"
        class="flex-1 nav_tabs"
        @tab-click="handleClick"
      >
        <el-tab-pane
          v-for="item in tabList"
          :key="item.id"
          :label="`${item.name}(${item.count})`"
          :name="item.id"
        />
      </el-tabs>
      <div class="list_wrap">
        <div class="flex list_header">
          <p style="width: 27%; padding-left: 20px">商品信息</p>
          <p class="text-center" style="width: 3%">数量</p>
          <p class="text-center" style="width: 10%">租金</p>
          <p class="text-center" style="width: 9%">租期</p>
          <p class="text-center" style="width: 8%">押金</p>
          <p class="text-center" style="width: 15%">实付金额</p>
          <p class="text-center" style="width: 5%">是否买断</p>
          <p class="text-center" style="width: 7%">下期付款金额</p>
          <p style="width: 16%; padding-left: 20px">收货人信息</p>
        </div>
        <div v-for="item in tableData" :key="item.id" class="list_item">
          <div class="flex justify-between align-center item_header">
            <el-tag :type="getOrderStatusType(item.status)">{{
              item.statusName
            }}</el-tag>
            <div class="flex-1 flex align-center">
              <p>ID：{{ item.id }}</p>
              <p>创建时间：{{ item.create_time }}</p>
              <p>订单号：{{ item.trade_no }}</p>
              <p>供应商：{{ item.shopname }}</p>
              <p>订单来源：{{ item.source }}</p>
              <p>
                快递信息：
                <!-- <span
                  class="blue-font pointer"
                  @click="checkLogistics(item.id)"
                > -->
                {{
                  item.logistic.delivery_type == 2
                    ? "上门自取"
                    : item.logistic.delivery_type == 3
                      ? "上门安装"
                      : item.logistic.logistics_no
                        ? `${item.logistic.logistics_no}(${item.logistic.logistics_name})`
                        : "无"
                }}
                <!-- </span> -->
              </p>
            </div>
            <p>
              <!-- <el-button
                type="primary"
                size="mini"
              >订单设置</el-button> -->
            </p>
          </div>
          <div class="flex item_row">
            <div class="flex" style="width: 27%">
              <el-image
                style="width: 100px; height: 100px"
                :src="item.imgurl ? $globalObj.imgBaseUrl + item.imgurl : ''"
              >
                <div slot="error" class="image-slot">
                  <i class="el-icon-picture-outline" />
                </div>
              </el-image>
              <div class="flex-1" style="padding-left: 10px; overflow: hidden">
                <p class="title blue-font">
                  {{ item.goods_title }}
                </p>
                <p class="meal">套餐信息：{{ item.change_setmeal_title ? item.change_setmeal_title : item.setmeal_title }}</p>
                <p class="meal">租赁方式：{{ item.pact_type }}</p>
                <p class="device">
                  设备编号：{{ item.device_number }}
                  <el-button
                    v-if="$hasMethod('#editDevice')"
                    size="mini"
                    class="border-btn"
                    style="margin-left: 5px"
                    @click="editDevice(item)"
                  >更改</el-button>
                </p>
              </div>
            </div>
            <div class="flex flex-center color-666 font-16" style="width: 3%">
              x{{ item.amount }}
            </div>
            <div class="flex flex-column flex-center" style="width: 10%">
              <p class="red-font">
                ￥{{ item.rent_total }}(共{{ item.month_total }}期)
              </p>
              <!-- <p class="color-666">￥{{(item.rent_total/item.month_total).toFixed(2)}}({{item.month_total}}期)</p> -->
              <p style="margin-top: 10px">
                <el-button
                  v-if="$hasMethod('#checkLease')"
                  size="mini"
                  class="border-btn"
                  @click="viewLease(item.id)"
                >查看租期</el-button>
              </p>
            </div>
            <div style="width: 9%" class="color-666 font-12 flex flex-center">
              {{ item.begin_time }}至{{ item.end_time }}(共{{
                item.month_total
              }}期)
            </div>
            <div style="width: 8%" class="flex flex-column flex-center">
              <p v-if="item.rights_auth_no" class="red-font">
                ￥{{ item.foregift }}
              </p>
              <p class="color-999 font-12">
                {{
                  !item.rights_auth_no
                    ? "未授权免押"
                    : item.foregift_deduct == 0
                      ? "押金冻结"
                      : item.foregift > 0
                        ? "部分免押"
                        : "押金全免"
                }}
              </p>
              <p
                v-if="item.foregift_deduct > 0"
                class="color-999 font-12"
                style="text-decoration: line-through"
              >
                ￥{{
                  parseFloat(item.foregift) + parseFloat(item.foregift_deduct)
                }}
              </p>
            </div>
            <div style="width: 15%" class="flex flex-column flex-center">
              <p class="red-font">￥{{ item.lease.paid_rent }}</p>
              <p class="color-999 font-12">
                {{
                  item.pay_type == 1
                    ? "智能合同代扣"
                    : item.pay_type == 2
                      ? "芝麻信用（" +
                        (item.rights_auth_no!=0 ? "已授权代扣" : "未授权代扣") +
                        "）"
                      : "花呗"
                }}
              </p>
              <p style="margin-top: 5px" class="color-999 font-12 bold-font">
                <!-- <el-button
                  size="mini"
                  type="success"
                  class="long-text-btn"
                  @click="checkPaidBill(item.id, item.lease.paid_rent)"
                >已付：￥{{ item.lease.paid_rent }}/￥{{
                  item.rent_total
                }}</el-button> -->
                已付：￥{{ item.lease.paid_rent }}/￥{{ item.rent_total }}
              </p>
              <p style="margin-top: 5px" class="color-999 font-12 bold-font">
                <!-- <el-button
                  size="mini"
                  type="warning"
                >已结租金￥{{ item.lease.settle_amount }}</el-button> -->
                已结租金￥{{ Number(item.lease.settle_amount).toFixed(2) }}
              </p>
            </div>
            <div
              style="width:8%;flex-direction: column;"
              class="flex flex-center font-12 color-666"
            ><div>{{ item.is_buy_out==1?'可买断/':'不可买断' }}</div><div>{{ item.setmeal_price+'元' }}</div></div>
            <div style="width: 7%" class="flex flex-column flex-center">
              <template v-if="JSON.stringify(item.lease.next) !== '[]'">
                <p class="font-12 color-666">￥{{ item.lease.next.amount }}</p>
                <p class="font-12 color-666">{{ item.lease.next.date }}</p>
              </template>
            </div>
            <div style="width: 16%">
              <p class="flex align-center justify-between font-12 color-666">
                <span>{{ item.realname }}</span>
                <span>{{ item.address_mobile }}</span>
              </p>
              <p class="font-12 color-666" style="word-break: break-all">
                {{ item.prov + item.city + item.area + item.address }}
              </p>
              <p style="margin-top: 10px">
                <el-button
                  v-if="$hasMethod('#editAddress')"
                  size="mini"
                  class="border-btn"
                  @click="editAddress(item)"
                >修改地址</el-button>
              </p>
            </div>
          </div>
          <div class="flex item_row_1">
            <div style="width: 60%" class="detail">
              <p class="color-666">
                认证资料：{{ item.cert_name }}（{{ item.cert_no }}）手机号：{{
                  item.mobile
                }}，人脸识别{{
                  item.backResult == 1 ? "通过" : "不通过"
                }}
                性别：{{ item.authentic.sex }} 年龄：{{ item.authentic.age }}
                <el-button
                  v-if="
                    item.idcard_back &&
                      item.idcard_front &&
                      $hasMethod('#checkAuthInfo')
                  "
                  size="mini"
                  class="border-btn"
                  @click="checkAuthInfo(item)"
                >认证资料</el-button>
                <el-button
                  size="mini"
                  class="border-btn"
                  @click="openChangePhone(item)"
                >修改手机</el-button>
              </p>
              <p class="color-666" style="margin:10px 0" :class="{ 'red-font': item.is_skip == 1 }">
                <!-- 风控信息：{{
                  item.is_skip == 1 ? "【未风控】商家跳过风控" : item.risk
                }} -->
                风控信息：{{ item.risk }}
                <el-button
                  size="mini"
                  :type="item.isBairong == 1 ? 'primary':'success'"
                  @click="lookBairong(item)"
                >{{ item.isBairong == 1 ? '查询百融数据' : '查看百融报告' }}</el-button>
              </p>
              <p class="color-666 red-font">紧急联系人：{{ item.emergency_contact }}</p>

            </div>
            <div style="width: 40%" class="flex flex-column justify-center">
              <p v-if="item.orderRefundReason" style="padding: 0 10px">
                退款原因：{{ item.orderRefundReason }}
              </p>
              <p v-if="item.is_renewal==1" style="margin-left: 10px">
                原订单号：<span class="blue-font">{{ item.parent_order_no }}</span>
              </p>
              <p v-if="item.is_abnormal==1 && [41,42,43,44,45,49,60,65].indexOf(item.status) > -1" class="red-font" style="margin-left: 10px">该订单提前归还</p>
              <p v-if="item.check_refuse_reason && item.status==43" class="red-font" style="margin-left: 10px">审核拒绝原因：{{ item.check_refuse_reason }}</p>
              <p class="color-666 font-12">用户备注：{{ item.remark }}</p>
              <p class="color-666 font-12">
                客服备注：
                <template v-if="JSON.stringify(item.orderRemark) !== '[]'">
                  {{ item.orderRemark.create_time }}，{{
                    item.orderRemark.username
                  }}添加备注：{{ item.orderRemark.remark }}
                  <span
                    v-if="$hasMethod('#checkRemark')"
                    class="blue-font pointer"
                    style="margin-right: 10px"
                    @click="viewRemark(item.id)"
                  >查看备注记录</span>
                </template>
                <el-button
                  v-if="$hasMethod('#addRemark')"
                  size="mini"
                  class="border-btn"
                  @click="addRemark(item.id)"
                >添加备注</el-button>
              </p>
              <p class="color-666" style="margin-top: 5px">
                <template v-if="JSON.stringify(item.leaseFlow) !== '[]'">
                  第{{ item.leaseFlow.which_period }}期通过支付宝{{
                    item.leaseFlow.pay_type == 1
                      ? "智能合同代扣"
                      : item.leaseFlow.pay_type == 2
                        ? "芝麻信用"
                        : item.leaseFlow.pay_type == 3
                          ? "花呗"
                          : "主动支付"
                  }}{{
                    item.leaseFlow.status == 1
                      ? "支付" + item.leaseFlow.rent + "元"
                      : item.leaseFlow.status == 2
                        ? "退款" + item.leaseFlow.rent + "元"
                        : item.leaseFlow.status == 3
                          ? "买断"
                          : "未支付"
                  }}
                </template>
                <el-button
                  v-if="$hasMethod('#checkFlow')"
                  size="mini"
                  class="border-btn"
                  @click="viewFlow(item.trade_no)"
                >流水记录</el-button>
              </p>
            </div>
          </div>
          <div class="flex item_row" style="justify-content: center;">
            <p class="btns flex align-center">
              <el-button
                v-if="item.status == 10 && $hasMethod('#delivery')"
                size="mini"
                type="warning"
                @click="openDelivery(item.id)"
              >订单发货</el-button>
              <el-button
                v-if="item.status == 20 && $hasMethod('#receipt')"
                size="mini"
                type="warning"
                @click="confirmReceipt(item.id)"
              >确认收货</el-button>
              <el-button
                v-if="item.status == 44&&$hasMethod('#confirmR')"
                size="mini"
                type="warning"
                @click="confirmReturn(item.id)"
              >确认归还</el-button>
              <!-- <el-button
                  v-if="item.status == 45"
                  size="mini"
                  type="warning"
                  @click="finishReturn(item.id)"
                  >归还完成</el-button> -->
              <el-button
                v-if="
                  [
                    20,30,31,32,33,34,39,40,41,42,43,44,45,49,50,51,52,56,57,58
                  ].indexOf(item.status) > -1 && $hasMethod('#checkLogistics')
                "
                size="mini"
                type="primary"
                @click="checkLogistics(item.id)"
              >查看物流</el-button>
              <el-button
                v-if="
                  [ 3,9,10,11,12,13,14,15,16,20,30,31,32,33,34,39,40,41,42,43,44,45,49,50,51,52,56,57,58,60,61,62,63,64,65]
                    .indexOf(item.status) > -1 && item.pact_url != 0 && item.sign_status==2
                "
                size="mini"
                type="primary"
                @click="checkPact($globalObj.imgBaseUrl + item.pact_url)"
              >查看合同</el-button>
              <el-button
                v-if="[11, 12, 13, 14].indexOf(item.status) > -1"
                size="mini"
                type="warning"
                @click="handleRefundOrder(item.trade_no)"
              >去处理</el-button>
              <el-button
                v-if="
                  [
                    9, 10, 11, 12, 13, 14, 20, 30, 31, 32, 33, 34, 39, 40, 41,
                    42, 43, 44, 45, 49, 50, 51, 52, 56, 57, 58,
                  ].indexOf(item.status) > -1 &&
                    item.pay_type == 2 &&
                    $hasMethod('#finish')
                "
                size="mini"
                class="border-btn"
                @click="finishOrder(item.id)"
              >交易完成</el-button>
              <el-button
                v-if="item.status == 41"
                size="mini"
                type="warning"
                @click="agreeReturn(item.id)"
              >同意归还</el-button>
              <el-button
                v-if="item.status == 41"
                size="mini"
                type="danger"
                @click="refuseReturn(item.id)"
              >拒绝归还</el-button>
              <el-button
                v-if="[2,3,9,10].indexOf(item.status) > -1 &&$hasMethod('#close')"
                size="mini"
                type="danger"
                @click="closeOrder(item.id)"
              >关闭订单</el-button>
              <el-button
                v-if="[
                  20,30,31,32,33,34,40,41,42,43,44,45,50,51,52,60,61,62,63,64,65
                ].indexOf(item.status) > -1 && item.isPolicy == 0 && item.getPolicy == 0"
                size="mini"
                type="success"
                @click="openPolicy(item.trade_no)"
              >投保信息</el-button>
              <el-button
                v-if="[
                  20,30,31,32,33,34,40,41,42,43,44,45,50,51,52,60,61,62,63,64,65
                ].indexOf(item.status) > -1 && item.isTWC == 0"
                size="mini"
                type="success"
                @click="openTWC(item.id)"
              >蚂蚁链信息</el-button>

              <!-- <el-button
                  size="mini"
                  type="primary"
                  @click="putLevinwang(item)"
                >提交征信查询申请</el-button> -->
              <!-- <el-button
                  size="mini"
                  type="primary"
                  @click="TWCRental(item.trade_no)"
                >履约信息</el-button> -->
            </p>
          </div>
          <!-- <div class="flex item_row">
            <div>蚂蚁链</div>
            <div>
              <el-button
                size="mini"
                type="primary"
                @click="TWCUser(item.trade_no,1)"
              >用户上链</el-button>
              <el-button
                size="mini"
                type="primary"
                @click="TWCOrder(item.trade_no,2)"
              >订单上链</el-button>
              <el-button
                size="mini"
                type="primary"
                @click="TWCOrderProduct(item.trade_no,3)"
              >订单商品上链</el-button> -->
          <!-- <el-button
                size="mini"
                type="primary"
                @click="TWCLogistic(item.trade_no,4)"
              >物流上链</el-button> -->
          <!-- <el-button
                size="mini"
                type="primary"
                @click="TWCLeasePromise(item.trade_no,7)"
              >承诺上链</el-button>
              <el-button
                size="mini"
                type="primary"
                @click="TWCInsurance(item.trade_no,5)"
              >投保</el-button>
              <el-button
                size="mini"
                type="primary"
                @click="TWCInsurance(item.trade_no,8)"
              >退保</el-button> -->
          <!-- <el-button
                size="mini"
                type="primary"
                @click="TWCRental(item.trade_no,6)"
              >履约上链</el-button> -->
          <!-- </div> -->
          <!-- <div>
              <el-button
                size="mini"
                type="primary"
                @click="TWCUser(item.trade_no)"
              >用户信息</el-button>
              <el-button
                size="mini"
                type="primary"
                @click="TWCOrder(item.trade_no)"
              >订单信息</el-button>
              <el-button
                size="mini"
                type="primary"
                @click="TWCOrderProduct(item.trade_no)"
              >订单商品信息</el-button>
              <el-button
                size="mini"
                type="primary"
                @click="TWCLogistic(item.trade_no)"
              >物流信息</el-button>
              <el-button
                size="mini"
                type="primary"
                @click="TWCLeasePromise(item.trade_no)"
              >承诺查询</el-button>
              <el-button
                size="mini"
                type="primary"
                @click="TWCInsurance(item.trade_no)"
              >投保信息</el-button>
              <el-button
                size="mini"
                type="primary"
                @click="TWCRental(item.trade_no)"
              >履约信息</el-button>
            </div> -->
          <!-- </div> -->
        </div>
      </div>
      <custom-page
        ref="customPage"
        :total="total"
        @getList="getList"
      />
    </div>
    <check-lease ref="checkLease" :order-id="selectedId" />
    <set-address
      ref="setAddress"
      :edit-item="editItem"
      @getList="getList"
    />
    <set-device
      ref="setDevice"
      :edit-item="editItem"
      @getList="getList"
    />
    <twc-log
      ref="twcLog"
      :order-id="selectedId"
    />
    <twc-policy
      ref="twcPolicy"
      :order-id="selectedId"
    />
    <set-remark ref="setRemark" :order-id="selectedId" @getList="getList" />
    <check-remark ref="checkRemark" :order-id="selectedId" />
    <check-flow ref="checkFlow" :order-no="selectedId" />
    <delivery
      ref="delivery"
      :order-id="selectedId"
      @getList="getList"
    />
    <receipt ref="receipt" :order-id="selectedId" @getList="getList" />
    <auth-info ref="authInfo" :edit-item="editItem" @getList="getList" />
    <check-bill ref="checkBill" :order-id="selectedId" />
    <check-logistics
      ref="checkLogistics"
      :order-id="selectedId"
    />
    <!-- 拒绝归还 -->
    <el-dialog title="拒绝归还" :visible.sync="returnVisible" width="500px">
      <el-form :model="returnForm">
        <el-form-item label="拒绝原因" label-width="120px">
          <el-input
            v-model="returnForm.checkRefuseReason"
            autocomplete="off"
            placeholder="请输入拒绝原因"
            type="text"
            maxlength="50"
            show-word-limit
          />
        </el-form-item>
      </el-form>
      <div slot="footer" class="dialog-footer">
        <el-button @click="closeReturn">取 消</el-button>
        <el-button type="primary" @click="confirmReturnVisible">确 定</el-button>
      </div>
    </el-dialog>
    <!-- 数据展示 -->
    <el-dialog
      :title="TWCTitle"
      width="600px"
      :visible.sync="isOpenTWC"
    >
      <el-form v-if="Array.isArray(TWCParams)" :model="TWCParams">
        <div v-for="(value1,key1,index1) in TWCParams" :key="index1">
          <el-form-item>数组内容{{ key1 +1 }}</el-form-item>
          <el-form-item v-for="(value,key,index) in value1" :key="index" :label="key" label-width="200px" prop="productId">
            {{ value }}
          </el-form-item>
        </div>
      </el-form>
      <el-form v-else :model="TWCParams">
        <el-form-item v-for="(value,key,index) in TWCParams" :key="index" :label="key" label-width="200px" prop="productId">
          <el-input
            v-model="TWCParams[key]"
            type="text"
            disabled
          />
        </el-form-item>
      </el-form>
      <div slot="footer" class="dialog-footer">
        <el-button @click="isOpenTWC = false">取 消</el-button>
        <el-button type="primary" @click="isOpenTWC = false">确 定</el-button>
      </div>
    </el-dialog>

    <chechUrl-dialog
      ref="chechUrlDialog"
      :select-row="selectRow"
      @getList="getList"
    />

    <el-dialog
      width="600px"
      title="修改手机号"
      :visible.sync="dialogVisible_phone"
      :close-on-click-modal="false"
    >
      <div>
        <p class="text-center img_header">用户手机号</p>
        <el-input
          v-model="change_mobile"
          placeholder="请输入电话"
          type="text"
          maxlength="50"
        />
      </div>
      <div
        slot="footer"
        class="dialog-footer"
      >
        <el-button
          type="primary"
          @click="changeMemberMobile"
        >修改用户手机号</el-button>
        <el-button
          type="primary"
          @click="dialogVisible_phone=false"
        >关闭</el-button>
      </div>
    </el-dialog>
  </div>
</template>
<script>
import { changeMemberMobile } from '@/api/order'
import { checkRiskCredit, Levinwang } from '@/api/data'
import globalData from '../../utils/global'
import customPage from '@/components/customPage'
import myDatePicker from '@/components/myDatePicker'
import chechUrlDialog from '@/components/chechUrl'
import {
  orderList,
  getOrderStatus,
  orderListExport,
  orderFinish,
  orderReturnAgree,
  orderReturnRefuse,
  orderComfirmReturn,
  orderClose
} from '@/api/order'
import checkLease from './dialogs/checklease'
import setAddress from './dialogs/setAddress'
import setDevice from './dialogs/setDevice'
import setRemark from './dialogs/setRemark'
import checkRemark from './dialogs/checkRemark'
import checkFlow from './dialogs/checkFlow'
import delivery from './dialogs/delivery'
import receipt from './dialogs/receipt'
import authInfo from './dialogs/authInfo'
import checkBill from './dialogs/checkBill'
import checkLogistics from './dialogs/checkLogistics'
import twcLog from './dialogs/twcLog'
import twcPolicy from './dialogs/twcPolicy'
import { twcUserGet, twcGetOrderGet, twcGetOrderProductGet, twcGetLogisticGet, twcLeasePromiseGet, twcRentalGet, twcInsuranceGet, alipayTWCSm } from '@/api/aliPayTWC'
export default {
  components: {
    myDatePicker,
    customPage,
    checkLease,
    setAddress,
    setDevice,
    setRemark,
    checkRemark,
    checkFlow,
    delivery,
    receipt,
    authInfo,
    checkBill,
    checkLogistics,
    twcLog,
    twcPolicy,
    chechUrlDialog
  },
  data() {
    return {
      searchForm: {
        orderNo: '',
        goodsName: '',
        receivingName: '',
        receivingMobile: '',
        riskName: '',
        riskMobile: '',
        orderStatus: '',
        orderCreateTime: '',
        shopName: ''
      },
      statusList: globalData.orderStatus,
      total: 0,
      tableData: [],
      activeName: 'all',
      tabList: [
        {
          id: 'all',
          name: '全部订单',
          count: 0
        },
        {
          id: 'notPay',
          name: '待付款订单',
          count: 0
        },
        {
          id: 'notRisk',
          name: '待风控订单',
          count: 0
        },
        {
          id: 'deliveredNot',
          name: '待发货订单',
          count: 0
        },
        {
          id: 'deliveredIs',
          name: '已发货订单',
          count: 0
        },
        {
          id: 'orderIng',
          name: '租用中订单',
          count: 0
        },
        {
          id: 'orderCompleted',
          name: '交易完成订单',
          count: 0
        },
        {
          id: 'orderCancel',
          name: '取消订单',
          count: 0
        },
        {
          id: 'orderReturn',
          name: '归还订单',
          count: 0
        },
        {
          id: 'orderBuyout',
          name: '买断订单',
          count: 0
        },
        {
          id: 'orderRenewal',
          name: '续租订单',
          count: 0
        },
        {
          id: 'orderApplyRefund',
          name: '申请退款',
          count: 0
        },
        {
          id: 'orderRefund',
          name: '退款订单',
          count: 0
        }
      ],
      selectedId: '',
      editItem: {},
      selectList: [],
      returnVisible: false,
      refuseId: '',
      returnForm: {
        checkRefuseReason: ''
      },

      isOpenTWC: false,
      TWCTitle: '',
      TWCParams: {},

      isHashBairong: false,
      selectRow: null,

      dialogVisible_phone: false,
      change_mobile: ''
    }
  },
  mounted() {
    if (this.$route.params.orderId) {
      this.searchForm.orderNo = this.$route.params.orderId
    }
    this.getSelect()
    this.getList()
  },
  methods: {
    openChangePhone(row) {
      this.selectRow = row
      this.change_mobile = row.address_mobile
      this.dialogVisible_phone = true
    },
    changeMemberMobile() {
      const data = {
        order_uid: this.selectRow.uid,
        member_mobile: this.change_mobile
      }
      changeMemberMobile(data).then(
        res => {
          this.$message.success('修改成功')
          this.getList()
          this.dialogVisible_phone = false
        }
      )
    },
    // 征信
    putLevinwang(row) {
      Levinwang({ order_id: row.id }).then(res => {
        this.$message.success(res.msg)
      })
    },
    // 百荣
    lookBairong(row) {
      this.selectRow = row
      this.selectRow.order_id = row.id
      // 未进行百融
      if (row.isBairong == 1) {
        checkRiskCredit({ order_id: row.id }).then(res => {
          this.$refs.chechUrlDialog.dialogVisible = true
        })
      } else {
        this.$refs.chechUrlDialog.dialogVisible = true
      }
    },
    openTWC(id) {
      this.selectedId = id
      this.$refs.twcLog.dialogVisible = true
    },
    // 打开保单界面
    openPolicy(id) {
      this.selectedId = id
      this.$refs.twcPolicy.dialogVisible = true
    },
    // 蚂蚁链用户查询
    TWCUser(id, type = 0) {
      if (type == 0) {
        twcUserGet({ orderId: id }).then(res => {
          this.TWCParams = JSON.parse(res.data.response_data)
          this.isOpenTWC = true
          console.log(res)
        })
      } else {
        alipayTWCSm({ trade_no: id, type: type }).then(res => {
          console.log(res)
        })
      }
    },
    // 蚂蚁链订单查询
    TWCOrder(id, type = 0) {
      if (type == 0) {
        twcGetOrderGet({ orderId: id }).then(res => {
          this.TWCParams = JSON.parse(res.data.response_data)
          this.isOpenTWC = true
          console.log(res)
        })
      } else {
        alipayTWCSm({ trade_no: id, type: type }).then(res => {
          console.log(res)
        })
      }
    },
    // 蚂蚁链订单商品查询
    TWCOrderProduct(id, type = 0) {
      if (type == 0) {
        twcGetOrderProductGet({ orderId: id }).then(res => {
          this.TWCParams = JSON.parse(res.data.response_data)
          this.isOpenTWC = true
          console.log(res)
        })
      } else {
        alipayTWCSm({ trade_no: id, type: type }).then(res => {
          console.log(res)
        })
      }
    },
    // 蚂蚁链物流查询
    TWCLogistic(id, type = 0) {
      if (type == 0) {
        twcGetLogisticGet({ orderId: id }).then(res => {
          this.TWCParams = JSON.parse(res.data.response_data)
          this.isOpenTWC = true
          console.log(res)
        })
      } else {
        alipayTWCSm({ trade_no: id, type: type }).then(res => {
          console.log(res)
        })
      }
    },
    // 蚂蚁链投保查询
    TWCInsurance(id, type = 0) {
      if (type == 0) {
        twcInsuranceGet({ orderId: id }).then(res => {
          this.TWCParams = JSON.parse(res.data.response_data)
          this.isOpenTWC = true
          console.log(res)
        })
      } else {
        alipayTWCSm({ trade_no: id, type: type }).then(res => {
          console.log(res)
        })
      }
    },
    // 蚂蚁链承诺查询
    TWCLeasePromise(id, type = 0) {
      if (type == 0) {
        twcLeasePromiseGet({ orderId: id }).then(res => {
          this.TWCParams = JSON.parse(res.data.response_data)
          this.isOpenTWC = true
          console.log(res)
        })
      } else {
        alipayTWCSm({ trade_no: id, type: type }).then(res => {
          console.log(res)
        })
      }
    },
    // 蚂蚁链用户上链/查询
    TWCRental(id, type = 0) {
      if (type == 0) {
        twcRentalGet({ orderId: id }).then(res => {
          this.TWCParams = JSON.parse(res.data.response_data)
          this.isOpenTWC = true
          console.log(res)
        })
      } else {
        alipayTWCSm({ trade_no: id, type: type }).then(res => {
          console.log(res)
        })
      }
    },
    handleRefundOrder(tradeNo) {
      this.$router.push({ name: 'refundList', params: { tradeNo }})
    },
    // 查看合同
    checkPact(url) {
      window.open(url)
    },
    // 订单完结
    finishOrder(id) {
      this.$confirm(
        '交易完成后进行解约现有款项不退款，并解约代扣无法发起未代扣的期数！', '请确认是否交易完成？', {
          confirmButtonText: '确定',
          cancelButtonText: '取消'
        }).then(() => {
        orderFinish(id).then((res) => {
          this.getList()
        })
      }).catch(() => {})
    },
    // 同意归还
    agreeReturn(id) {
      this.$confirm('确定要同意归还吗？', '同意归还', {
        confirmButtonText: '确定',
        cancelButtonText: '取消'
      }).then(() => {
        orderReturnAgree(id).then((res) => {
          this.getList()
        })
      }).catch(() => {})
    },
    // 拒绝归还
    refuseReturn(id) {
      this.refuseId = id
      this.returnVisible = true
    },
    // 订单关闭
    closeOrder(id) {
      this.$confirm('确定要关闭订单吗？', '关闭', {
        confirmButtonText: '确定',
        cancelButtonText: '取消'
      }).then(() => {
        orderClose(id).then(res => {
          this.getList()
        })
      }).catch(() => {})
    },
    closeReturn() {
      this.returnVisible = false
      this.returnForm.checkRefuseReason = ''
    },
    confirmReturnVisible() {
      if (!this.returnForm.checkRefuseReason) {
        this.$message.warning('拒绝原因不能为空')
        return false
      }
      orderReturnRefuse({
        orderId: this.refuseId,
        checkRefuseReason: this.returnForm.checkRefuseReason
      }).then((res) => {
        this.getList()
        this.closeReturn()
      }).catch(() => {})
    },
    // 确认归还
    confirmReturn(id) {
      this.$confirm('确定要归还吗？', '确认归还', {
        confirmButtonText: '确定',
        cancelButtonText: '取消'
      }).then(() => {
        orderComfirmReturn(id).then((res) => {
          this.getList()
        })
      }).catch(() => {})
    },
    // 归还完成
    // finishReturn(id) {
    //   orderReturnFinish(id).then((res) => {
    //     this.getList();
    //   });
    // },
    // 查看物流
    checkLogistics(id) {
      this.selectedId = id
      this.$refs.checkLogistics.dialogVisible = true
    },
    // 查看已付账单详情
    checkPaidBill(id, paid_rent) {
      if (this.$hasMethod('#checkBill') && paid_rent > 0) {
        this.selectedId = id
        this.$refs.checkBill.dialogVisible = true
      }
    },
    // 查看认证资料
    checkAuthInfo(item) {
      this.editItem = {
        idcard_back: item.idcard_back,
        idcard_front: item.idcard_front,
        address_mobile: item.mobile,
        uid: item.uid
      }
      this.$refs.authInfo.dialogVisible = true
    },
    // 确认收货
    confirmReceipt(id) {
      this.selectedId = id
      this.$refs.receipt.dialogVisible = true
    },
    // 订单发货
    openDelivery(id) {
      this.selectedId = id
      this.$refs.delivery.dialogVisible = true
    },
    // 查看流水记录
    viewFlow(trade_no) {
      this.selectedId = trade_no
      this.$refs.checkFlow.dialogVisible = true
    },
    // 查看客服备注
    viewRemark(id) {
      this.selectedId = id
      this.$refs.checkRemark.dialogVisible = true
    },
    // 添加客服备注
    addRemark(id) {
      this.selectedId = id
      this.$refs.setRemark.dialogVisible = true
    },
    // 更改设备编号
    editDevice(item) {
      this.editItem = {
        orderId: item.id,
        deviceNumber: item.device_number ? item.device_number.split(',') : [],
        amount: item.amount
      }
      this.$refs.setDevice.dialogVisible = true
    },
    // 修改地址
    editAddress(item) {
      this.editItem = {
        orderId: item.id,
        realname: item.realname,
        mobile: item.address_mobile,
        address: item.address,
        prov: item.prov,
        city: item.city,
        area: item.area,
        province: [item.prov, item.city, item.area]
      }
      this.$refs.setAddress.dialogVisible = true
    },
    // 查看租期
    viewLease(id) {
      this.selectedId = id
      this.$refs.checkLease.dialogVisible = true
    },
    getOrderStatusType(status) {
      const obj = this.statusList.find((item) => item.id == status)
      return obj ? obj.type : 'warning'
    },
    getOrderStatusName(status) {
      const obj = this.statusList.find((item) => item.id == status)
      return obj ? obj.name : ''
    },
    // 获取数据
    getList(flag) {
      // flag为true, 则不刷新表格
      const { page, pageSize } = this.$refs.customPage
      if (!flag) {
        this.tableData = []
      }
      orderList({
        page,
        pageSize,
        ...this.searchForm,
        orderStatusGroup: this.activeName
      }).then((res) => {
        const { list, count } = res
        this.tableData = list.data || []
        this.total = list.total || 0
        for (const item of this.tabList) {
          item.count = count[item.id]
        }
      })
    },
    // 查询
    search() {
      const pickerVal = this.$refs.myDatePicker.getVal()
      if (pickerVal !== 'error') {
        this.searchForm.orderCreateTime = pickerVal
        this.$refs.customPage.page = 1
        this.getList()
      }
    },
    // 重置
    reset() {
      if (this.$refs.myDatePicker) {
        this.$refs.myDatePicker.reset()
      }
      this.searchForm = {
        orderNo: '',
        goodsName: '',
        receivingName: '',
        receivingMobile: '',
        riskName: '',
        riskMobile: '',
        orderStatus: '',
        orderCreateTime: '',
        shopName: ''
      }
      this.getList()
    },
    // 导出
    exportFile() {
      const pickerVal = this.$refs.myDatePicker.getVal()
      if (pickerVal !== 'error') {
        this.searchForm.orderCreateTime = pickerVal
        orderListExport({
          ...this.searchForm,
          orderStatusGroup: this.activeName
        })
      }
    },
    handleClick(tab) {
      this.activeName = tab.name
      this.$refs.customPage.page = 1
      this.getList()
    },
    getSelect() {
      getOrderStatus().then((res) => {
        const list = []
        for (const key in res) {
          list.push({
            id: key,
            name: res[key]
          })
        }
        this.selectList = list || []
      })
    }
  }
}
</script>
<style lang="scss" scoped>
.common_form_search {
  padding: 15px 30px 0;
}
.child_page {
  padding-bottom: 15px;
  padding-left: 30px;
  padding-right: 30px;
  p,
  div {
    box-sizing: border-box;
  }
}
.list_wrap {
  position: relative;
}
.list_header {
  position: sticky;
  top: 0;
  left: 0;
  right: 0;
  min-height: 50px;
  z-index: 2;
  background: #f5f5f5;
  border: 1px solid #e6e6e6;
  p {
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
  }
  p:not(:first-child) {
    border-left: 1px solid #e6e6e6;
  }
}
.list_item {
  border: 1px solid #e6e6e6;
  margin-top: 10px;
}
.item_row {
  border-top: 1px solid #e6e6e6;
  & > div {
    padding: 10px;
    color: #666666;
    &:not(:first-child) {
      border-left: 1px solid #e6e6e6;
    }
  }
}
.item_row_1 {
  border-top: 1px solid #e6e6e6;
  & > div {
    padding: 10px;
    color: #666666;
    &:not(:first-child) {
      // border-left: 1px solid #e6e6e6;
    }
  }
}
.detail,
.btns {
  padding: 10px;
}
.btns {
  // border-left: 1px solid #e6e6e6;
  .el-button + .el-button {
    margin-left: 10px;
  }
}
.border-btn {
  height: 25px;
  padding-top: 0;
  padding-bottom: 0;
  background: #ffffff;
  border: 1px solid $mainBlue;
  border-radius: 3px;
  color: $mainBlue;
  font-size: 12px;
}
.sign_icons img {
  width: 21px;
  height: 23px;
  margin-right: 2px;
}
.item_header {
  padding: 5px 10px;
  background-color: #f5f5f5;
  & > div p {
    color: #666666;
    font-size: 12px;
    padding-left: 20px;
  }
}
.title {
  font-size: 16px;
  line-height: 23px;
  padding-bottom: 15px;
}
.meal,
.device {
  font-size: 12px;
  color: #999999;
  line-height: 23px;
}
.item_row p {
  line-height: 23px;
}
.item_row div {
  line-height: 20px;
}
</style>
